热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更多|台账_在线问题反馈模块实战:封装通用字段类

篇首语:本文由编程笔记#小编为大家整理,主要介绍了在线问题反馈模块实战:封装通用字段类相关的知识,希望对你有一定的参考价值。&

篇首语:本文由编程笔记#小编为大家整理,主要介绍了在线问题反馈模块实战:封装通用字段类相关的知识,希望对你有一定的参考价值。




👨‍🎓作者:bug菌


✏️博客:CSDN、掘金等


💌公众号:猿圈奇妙屋


🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。


🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。 







【开发云】年年都是折扣价,不用四处薅羊毛



一、前言🔥

       接下来的这几期,bug菌想跟大家分享一下自己昨天刚接到一个临时的需求,热乎着呢,想分享一下自己是如何面对临时需求并制定整个开发周期,其中包括从梳理业务到创建业务表再到实现业务逻辑形成闭环再到与前端对接,其中会穿插一些业务拓展及功能性拓展,这一条龙流程在线与大家一起见证,分享给刚入门的小伙伴,希望对你们有所帮助。



环境说明:idea2019.3 + springboot2.3.1.REALSE + mybati-plus3.2.0 + mysql5.6 + jdk1.8




       若小伙伴们在批阅文章的过程中觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮👍吧,您的点赞三连(收藏⭐️+关注👨‍🎓+留言📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,创作不停💕,加油☘️ 



二、正文🔥

        接下来,想请大家思考个问题,对于整个项目的业务表,不知道你们有咩有发现一件事,就是很多表都会带有几个字段,所谓的万油精字段,那我们何不封装成一个通用实体呢?对不对,为了减少冗余代码,增强代码质量。所以我直接将所有表中通用字段都统计了一遍,却发现有一部分字段每张表基本都涉及,比如uuid,creator、updator、create_time及update_time,总共将近20张表,其中这些字段在14张表中是有完整出现的,所以,猜猜我接下来要干嘛?

        对的,被你们猜对了,第一步可以将这些通用字段都抽取出来,我这就直接将该通用字段抽到一个新实体中,且命名为:BaseEntity.java。

具体添加大家可以看我这里:

BaseEntity.java

/**
* entity父类重写toString方法,让对象输出时为json
*
* @Author luoYong
* @Date 2021-06-01 13:00
*/
@Data
@ApiModel(value = "实体基础信息", description = "实体基础信息")
public class BaseEntity implements Serializable
private static final long serialVersionUID = 1L;
private String id;
protected Date createTime;
protected String createBy;
protected Date updateTime;
protected String updateBy;

        所以对于带有这些字段的实体,我们就可以直接继承BaseEntity即可。比如:

public class SysUserEntity extends BaseEntity implements Serializable

public class SysRoleEntity extends BaseEntity implements Serializable

        其实这也是为了我们接下来教大家的一种拓展。对于这部分通用字段的内容填充,在日常的增删改过程中,赋值逻辑,代码是不是大量重复了,对吧,你们仔细想想,是不是这部分字段赋值逻辑都是一模一样的,获取登录人信息设置创建人,修改人,然后new Date()获取系统时间。那我们对这一块是不是封装一个工具类统一处理呢?就跟我们处理通用字段一样。

        那么大家有考虑怎么实现吗?有小伙伴就会说实现方式很多呀,比如封装一个专门赋值的工具类,说到底还是要你去做这部分的赋值,只是说需要你手动加的代码少了而已,虽然也可以,但是不够优雅,还有没有更优雅的方式,有!使用aop切面请求,在调用insert或update时,获取实体然后将通用字段信息赋值,这是最开始的玩法,但是现在啊,我不教学你那么复杂的实现方式,重复造轮子不好玩,我要的是你们能现学现用,而这一期的内容,我打算放在下期进行教学,敬请期待呀。

 ... ...

        好啦,以上就是这期的所有内容啦,你们学废了么?如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。


三、往期热文推荐🔥

        对于问题反馈模块实战开发,我完整的梳理了每一期的教学及链接地址,仅供参考:希望能对你们有所帮助。


  • 在线问题反馈模块实战(一):梳理业务需求并创建数据库表
  • 在线问题反馈模块实战(二):封装代码自动生成类文件器
  • 在线问题反馈模块实战(三):自动生成所有Controller、Service、Mapper等文件
  • 在线问题反馈模块实战(四):封装通用字段类
  • 在线问题反馈模块实战(五):实现对通用字段内容自动填充功能
  • 在线问题反馈模块实战(六):接口文档定义
  • 在线问题反馈模块实战(七):安装部署swagger2
  • ​在线问题反馈模块实战(八)​:实现图片上传功能-上篇
  • ​在线问题反馈模块实战(九)​:实现图片上传功能-下篇
  • ​在线问题反馈模块实战(十)​:实现图片预览功能
  • ​在线问题反馈模块实战(十一)​:实现图片下载功能
  • ​在线问题反馈模块实战(十二)​:实现图片删除功能
  • ​在线问题反馈模块实战(十三)​:实现多参数分页查询列表
  • 在线问题反馈模块实战(十四):实现在线答疑功能
  • 在线问题反馈模块实战(十五)​:实现在线更新反馈状态功能
  • 在线问题反馈模块实战(十六)​:实现查详情功能
  • 在线问题反馈模块实战(十七):实现excel模板在线下载功能
  • 在线问题反馈模块实战(十八):实现excel台账文件记录批量导入功能
  • 在线问题反馈模块实战(十九):实现数据批量导出到excel文件中功能
  • 在线问题反馈模块实战(二十):完结篇

        如上是整整二十期内容,每一期都是干货,对于一个模块的开发,如何一点一滴打造并测试部署上线,我再说一遍,这不是演习,是实战!是实战!是实战!

        若你们觉得只是需要了解其中某个知识点或者业务的话,也不反对,你就选择其中的几期进行学习就好,反正都已经完结啦;我只希望你们能有所收获,有所成长,也就不枉我苦心每天下班后给大家总结更新。


四、文末🔥

        如果你还想要学习更多,小伙伴们大可关注bug菌专门为你们创建的专栏《springboot零基础入门教学》,都是我一手打下的江山,持续更新中,希望能帮助到更多小伙伴们。






【开发云】年年都是折扣价,不用四处薅羊毛


       我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

        最后送大家两句我很喜欢的话,与诸君共勉!



☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以start。

🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。



​​​​​​



💌如果文章对您有所帮助,就请留下您的吧!(#^.^#);


💝如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;


💗如果对文章有任何疑问,还请文末留言或者加群吧【QQ交流群:708072830】;


💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);


💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • Java 类成员初始化顺序与数组创建
    本文探讨了Java中类成员的初始化顺序、静态引入、可变参数以及finalize方法的应用。通过具体的代码示例,详细解释了这些概念及其在实际编程中的使用。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
author-avatar
穿靴子的猫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有